const obj ={a:1,b:2,c:3,d:4}
let {a,...rest}=obj
// console.log(rest);

// [{key: 'a', value: 1}, {key: 'a', value: 2}, {key: 'a', value: '3'}, {key: 'b', value: 4}] => {a: [1, 2, 3], b: 4}
function arr2Obj(arr){
    let obj={}
    let objKey;
    // let res=arr.map((item)=>{
    //     return obj[item.key]=[].push(item.value)
    // })
    // console.log(res);
    arr.forEach(element => {
        objKey=element.key
        // obj[objKey]=obj[objKey]?[].push(element.value):element.value
        if(obj[objKey]){
            obj[objKey]=Array.isArray(obj[objKey])?[...obj[objKey],element.value]:[obj[objKey],element.value]
        }else{
            obj[objKey]=element.value
        }
    });
    console.log(obj);
}
const arr=[{key: 'a', value: 1}, {key: 'a', value: 2}, {key: 'a', value: '3'}, {key: 'b', value: 4}]
arr2Obj(arr)